home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Source / IBPalettes / WW3DKit / WWShaderArgTextField.m < prev   
Encoding:
Text File  |  1995-03-22  |  1.2 KB  |  70 lines

  1. // copyright 1993 Michael B. Johnson; some portions copyright 1994, MIT
  2. // see COPYRIGHT for reuse legalities
  3. //
  4.  
  5.  
  6. #import "WWShaderArgTextField.h"
  7.  
  8. @implementation WWShaderArgTextField
  9.  
  10. + initialize { return [WWShaderArgTextField setVersion:1], self; }
  11.  
  12. - initFrame:(const NXRect *)r 
  13. {
  14.    [super initFrame:r];
  15.    shaderArgName = NULL;
  16.    return self;
  17. }
  18.  
  19. - awake
  20. {
  21.    [super awake];
  22.    shaderArgName = NULL;
  23.    return self;
  24. }
  25.  
  26. - free
  27. {
  28.   if (shaderArgName) {  free(shaderArgName); }
  29.   return [super free];
  30. }
  31.   
  32. - setShaderArgName:(const char *)newShaderArg
  33. {
  34.   if (shaderArgName) 
  35.   {  free(shaderArgName);
  36.   }
  37.   shaderArgName = NXCopyStringBuffer(newShaderArg);
  38.   return self;
  39. }
  40.  
  41. - (const char *)shaderArgName { return (const char *)shaderArgName; }
  42.  
  43. #define typeVector "*"
  44. #define typeValues &shaderArgName
  45.  
  46. - read:(NXTypedStream*)stream 
  47. {
  48.   int version;
  49.  
  50.  
  51.   [super read:stream];
  52.  
  53.   version = NXTypedStreamClassVersion(stream,"WWShaderArgTextField");
  54.   if (version == 0) NXReadTypes(stream,"i",&version), version=1;
  55.   if (version == 1)
  56.   {  NXReadTypes(stream, typeVector, typeValues);
  57.   }
  58.   return self; 
  59. }
  60.  
  61. - write:(NXTypedStream*)stream 
  62. {
  63.   [super write:stream];
  64.  
  65.   NXWriteTypes(stream,typeVector, typeValues);
  66.   return self;
  67. }
  68.  
  69. @end
  70.